from sqlalchemy import Boolean, Column, Integer, String, DateTime
from app.db.database import DBase
from datetime import date


class sysUser_DB(DBase):
    """
    系统用户表的数据库模型类

    Attributes:
        user_id (str): 用户ID，主键，索引
        login_name (str): 登录名，不能为空，唯一
        user_name (str): 用户姓名，不能为空
        user_role (str): 用户角色，默认值为'00'
        phonenumber (str): 电话号码，默认值为空字符串
        password (str): 密码，默认值为空字符串
        status (str): 状态，默认值为'1'
        del_flag (str): 删除标志，默认值为'0'
        created_by (str): 创建者，默认值为空字符串
        created_time (datetime): 创建时间，默认值为当前日期
        updated_by (str): 更新者，默认值为空字符串
        updated_time (datetime): 更新时间，默认值为当前日期
        remark (str): 备注，默认值为空字符串
    """
    __tablename__ = "sys_user"

    user_id = Column(String(32), primary_key=True, index=True)
    login_name = Column(String(30), nullable=False, unique=True)
    user_name = Column(String(30), nullable=False)
    user_role = Column(String(2), default="02")
    phonenumber = Column(String(11), default="")
    password = Column(String(20), default="")
    status = Column(String(1), default="1")
    del_flag = Column(String(1), default="0")
    create_by = Column(String(20), default="")
    create_time = Column(DateTime, default=date.today())
    update_by = Column(String(20), default="")
    update_time = Column(DateTime, default=date.today())
    remark = Column(String(100), default="")
